'use strict';
//////////////////////////////////////////////////////////////////////////////
// 文件上传选择框 致力简单化
// =====================
// ##331053##flag
// =====================
// liuyp 2018年11月28日15: 30: 04
// liuyp 2019年1月8日10: 29: 04 翻修
//////////////////////////////////////////////////////////////////////////////
function $fileup() {
    return {
        readImgs: function (fileArr, cb){
            if(! angular.isArray(fileArr)) fileArr = [ fileArr ];
            var length = fileArr.length, index = 0;
            var result = [];
            var readFile = function(){
                //加载图片获取图片真实宽度和高度
                var reader = new FileReader();
                reader.readAsDataURL(fileArr[index]);
                reader.onload = function (e) {
                    var re = e.target.result;
                    var image = new Image();
                    image.onload = function() {
                        var obj = {
                            width: image.width,
                            height: image.height,
                            name: fileArr[index].name,
                            size: fileArr[index].size,
                            type: fileArr[index].type
                        };
                        result.push(obj);
                        index++;
                        if(index == length) cb(fileArr, result)
                        else readFile();
                    };
                    image.src = re;
                }
            };
            readFile();
        },
        readImg: function (file, cb){
            var reader = new FileReader();
            reader.readAsDataURL(file);
            reader.onload = function (e) {
                var re = e.target.result;
                var image = new Image();
                image.onload = function() {
                    cb&&cb(
                        image.type,
                        image.width,
                        image.height,
                        image.name,
                        image.size
                   )
                };
                image.src = re;
            }
        },
        ajaxOption: function (file, url){
            var data = new FormData(); //存储文件格式流数据
            data.append('file', file);
            return {
                url: url,
                method: 'POST',
                data: data, //仅仅存放的是文件流数据
                headers: { 'Content-Type': undefined }, //angularjs设置文件上传的content-type修改方式
                transformRequest: angular.identity
            };
        }
    };
}
exports = module.exports = $fileup;